package com.bjpowernode.crm.settings.domain;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * 用户实体类
 *          特点：
 *              1. 属性私有化
 *              2. 提供get和set方法
 *              3. 可以选择提供toString方法
 *              4. 当前实体类实现Serializable
 *                  后续需要在网络中进行传输实体类对象，必须实现该接口才可以传输
 *
 * 使用lombok进行实体类的操作
 *      1. 安装插件，settings/plugins中搜索lombok插件安装
 *      2. 重启idea
 *      3. 编码实现...
 *
 * 使用lombok提供的注解生成实体类相关的参数数据（减少冗余代码）
 *
 * Accessors注解
 *      以前创建实体类对象时：
 *          User user = new User();
 *          user.setId();
 *          ...
 *      现在创建实体类对象时：链式调用
 *          User user = new User()
 *          .setId().setName().setXxx();
 */
@Data // 生成get和set方法及toString方法...
@NoArgsConstructor // 生成无参构造方法
@AllArgsConstructor // 生成全参构造方法
@Accessors(chain = true) // 通过链式的方式创建实体类对象，
public class User implements Serializable {
    private String id;
    private String loginAct;
    private String loginPwd;
    private String name;
    private String email;
    private String expireTime; // 过期时间
    private String lockState; // 锁定状态
    private String deptno;
    private String allowIps; // 允许访问的ip列表
    private String createTime;
    private String createBy;
    private String editTime;
    private String editBy;
}
